Правильный способ получения вычисленного стиля - ожидание, пока страница не будет отображена. Это можно сделать следующим образом. Обратите внимание на время ожидания при получении значений auto
.
function getStyleInfo() {
setTimeout(function() {
const style = window.getComputedStyle(document.getElementById('__root__'));
if (style.height == 'auto') {
getStyleInfo();
}
// IF we got here we can do actual business logic staff
console.log(style.height, style.width);
}, 100);
};
window.onload=function() { getStyleInfo(); };
Если вы используете просто
window.onload=function() {
var computedStyle = window.getComputedStyle(document.getElementById('__root__'));
}
вы можете получить auto
значений ширины и высоты, потому что браузеры не рендерится до полной загрузки.